package com.jhgsys.internal.base.service;

import com.jhgsys.internal.base.entity.BaseNotice;
import com.jhgsys.internal.common.entity.QueryRequest;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 业务通知 Service接口
 *
 * @author Lujiachen
 * @date 2024-08-12 13:07:19
 */
public interface IBaseNoticeService extends IService<BaseNotice> {
    /**
     * 查询（分页）
     * @author Lujiachen
     * @date 2024-08-12 13:07:19
     * @param request QueryRequest
     * @param baseNotice baseNotice
     * @return IPage<BaseNotice>
     */
    IPage<BaseNotice> findBaseNoticePage(QueryRequest request, BaseNotice baseNotice);

    /**
     * 查询（所有）
     * @author Lujiachen
     * @date 2024-08-12 13:07:19
     * @param baseNotice baseNotice
     * @return List<BaseNotice>
     */
    List<BaseNotice> findBaseNoticeList(BaseNotice baseNotice);

    /**
    * 根据ID查询
    * @author Lujiachen
    * @date 2024-08-12 13:07:19
    * @param id
    * @return BaseNotice
    */
    BaseNotice findBaseNoticeById(String id);

    /**
     * 新增
     * @author Lujiachen
     * @date 2024-08-12 13:07:19
     * @param baseNotice baseNotice
     */
    void createBaseNotice(BaseNotice baseNotice);

    /**
     * 修改
     * @author Lujiachen
     * @date 2024-08-12 13:07:19
     * @param baseNotice baseNotice
     */
    void updateBaseNotice(BaseNotice baseNotice);

    /**
     * 逻辑删除
     * @author Lujiachen
     * @date 2024-08-12 13:07:19
     * @param baseNotice baseNotice
     * @param baseNoticeIds baseNoticeIds
     */
    void deleteBaseNotice(BaseNotice baseNotice,String baseNoticeIds);

    /**
    * 物理删除
    * @author Lujiachen
    * @date 2024-08-12 13:07:19
    * @param baseNoticeIds baseNoticeIds
    */
    void physicallyDeleteBaseNotice(String baseNoticeIds);
}
